home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / ftn / acbuf.z / acbuf
Encoding:
Text File  |  2002-10-03  |  5.8 KB  |  133 lines

  1.  
  2.  
  3.  
  4. aaaaccccbbbbuuuuffff((((3333GGGG))))                                                            aaaaccccbbbbuuuuffff((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      aaaaccccbbbbuuuuffff - operate on the accumulation buffer
  10.  
  11. FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee aaaaccccbbbbuuuuffff((((oooopppp,,,, vvvvaaaalllluuuueeee))))
  13.      iiiinnnntttteeeeggggeeeerrrr****4444 oooopppp
  14.      rrrreeeeaaaallll vvvvaaaalllluuuueeee
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _o_p      expects one of six symbolic constants:
  18.  
  19.              AAAACCCCCCCCLLLLRRRR:  The red, green, blue, and alpha accumulation buffer
  20.              contents are all set to _v_a_l_u_e (rounded to the nearest integer).
  21.              _v_a_l_u_e is clamped to the range of the accumulation buffer.
  22.  
  23.              AAAACCCCAAAACCCCCCCCUUUU:  Pixels are taken from the current rrrreeeeaaaaddddssssoooo bank (front,
  24.              back, or zbuffer).  If this buffer has color component
  25.              resolutions of other than 8 bits, the components are rescaled to
  26.              the range [0,255].  Then the red, green, blue, and alpha
  27.              components are each scaled by _v_a_l_u_e.  The resulting pixels are
  28.              added to the pixels already present in the accumulation buffer.
  29.              The range of _v_a_l_u_e is -256 through 256.  Arguments outside this
  30.              range are clamped to it.  Accumulated values are NOT clamped to
  31.              the range of the accumulation buffer.  Thus overflow is avoided
  32.              only by limiting the range of accumulation operations.
  33.  
  34.              AAAACCCCCCCCLLLLRRRRAAAA:  An efficient combination command whose effect is to
  35.              first clear the accumulation buffer contents to zero, then add as
  36.              per ACACCU Ranges and clamping are as per ACACCU
  37.  
  38.              AAAACCCCRRRREEEETTTTUUUU:  Pixels are taken from the accumulation buffer.  Their
  39.              red, green, blue, and alpha components are each scaled by _v_a_l_u_e,
  40.              then clamped to the range [0,255].  The resulting 8 bit per
  41.              component pixels are then scaled to the range of the currently
  42.              enabled drawing buffers (front, back, or zbuffer) and written to
  43.              these buffers.  All special pixel operations (zbuffer,
  44.              blendfunction, logicop, stencil, texture mapping, etc.) are
  45.              ignored during this transfer.  Destination values are simply
  46.              replaced.  The operation is limited by the current viewport and
  47.              screenmask, however.  The range of _v_a_l_u_e is 0.0 through 1.0.
  48.              Arguments outside this range are clamped to it.
  49.  
  50.              AAAACCCCMMMMUUUULLLLTTTT:  The red, green, blue, and alpha components of each
  51.              accumulation buffer pixel are scaled by _v_a_l_u_e.
  52.  
  53.              AAAACCCCAAAADDDDDDDD:  _v_a_l_u_e is added to each red, green, blue, and alpha
  54.              component of each pixel in the accumulation buffer.
  55.  
  56.      _v_a_l_u_e   expects a float point value.  _o_p determines how _v_a_l_u_e is used.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaaccccbbbbuuuuffff((((3333GGGG))))                                                            aaaaccccbbbbuuuuffff((((3333GGGG))))
  71.  
  72.  
  73.  
  74. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  75.      The accumulation buffer is a bank of high resolution pixels, typically 12
  76.      or more bits for each of red, green, blue, and alpha, that is mapped 1-
  77.      to-1 with screen pixels.  (See aaaaccccssssiiiizzzzeeee.)  Pixel images stored in the
  78.      normal framebuffer can be added to the accumulation buffer.  These pixels
  79.      are scaled during the transfer by a floating-point value (of limited
  80.      range and resolution).  Later, the accumulated image can be returned to
  81.      the normal frame buffer, again while being scaled.
  82.  
  83.      Effects such as antialiasing (of points, lines, and polygons), motion-
  84.      blur, and depth-of-field can be created by accumulating images generated
  85.      with different transformation matrixes.  Predictable effects are possible
  86.      only when subpixel mode is TRUE (see subpixel).
  87.  
  88.      rrrreeeeaaaaddddssssoooo mode is shared with other pixel read operations, including llllrrrreeeeccccttttrrrr
  89.      and rrrreeeeccccttttccccoooo.  rrrreeeeccccttttzzzzoooo however, has no effect on accumulation operation.
  90.  
  91.      All accumulation buffer operations are limited to the area of the current
  92.      screenmask, which itself is limited to the current viewport.
  93.  
  94.      The accumulation buffer is a part of the normal framebuffer.  aaaaccccbbbbuuuuffff
  95.      should be called only while draw mode is NNNNOOOORRRRMMMMAAAALLLL, and while the normal
  96.      framebuffer is in RGB mode.
  97.  
  98. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  99.      acsize, drawmo, subpix, scrmas
  100.  
  101. NNNNOOOOTTTTEEEESSSS
  102.      An error is reported, and no action is taken, if accumulate is called
  103.      while aaaaccccssssiiiizzzzeeee is zero.
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.